package com.example.archive.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.archive.entity.ArchiveDestructionRequest;
import com.example.archive.util.PageParam;
import com.example.archive.util.Result;

public interface ArchiveDestructionRequestService {
    Result<Boolean> submitDestructionRequest(ArchiveDestructionRequest request);
    Result<IPage<ArchiveDestructionRequest>> listDestructionRequests(PageParam pageParam, String status, Integer requesterId, Integer approverId);
    Result<Boolean> approveDestructionRequest(Integer destructionId, Integer approverId, String notes);
    Result<Boolean> rejectDestructionRequest(Integer destructionId, Integer approverId, String notes);
    Result<Boolean> executeDestruction(Integer destructionId, Integer executorId, String destructionProcessRecord);
    Result<ArchiveDestructionRequest> getDestructionRequestById(Integer destructionId);
} 